package com.ftg.learn.day12.datastruct;

import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicIntegerArray;

/**
 * 学习一下线程安全的高性能的map
 *
 * @author 布衣
 */
public class LearnConcurrentHashMap {

    public static void main(String[] args) {

//        一个哈希表，支持 检索() 和 更新（put remove）的高期望 并发性（多线程）
//        应用场景 ： 多线程并发时线程安全 ，速度问题  sync 同步锁
        Map<String, String> map = new ConcurrentHashMap<>();
        map.put("aa", "ccc");

        Map<String,String> s11 = Collections.synchronizedMap(map);
        s11.put("tt","sss");

        Map<String, String> stringStringMap = Collections.unmodifiableMap(map);
        stringStringMap.put("aa","xxx");
//        stringStringMap.remove("aa");
//        stringStringMap.put("xx","yy");
        System.out.println(stringStringMap);

        System.out.println(s11);

    }


}
